package com.tfswx.jkgl.designer.datasource;


import lombok.extern.slf4j.Slf4j;

/**
 * @author ricky
 * @date 2021/12/14
 */
@Slf4j
public class DynamicDataSourceContextHolder {
    /*
     * 当使用ThreadLocal维护变量时，ThreadLocal为每个使用该变量的线程提供独立的变量副本，
     * 所以每一个线程都可以独立地改变自己的副本，而不会影响其它线程所对应的副本。
     */

    private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();

    public static void setDataSourceType(String dataSourceType) {
        contextHolder.set(dataSourceType);
    }


    public static String getDataSourceType() {
        String s = contextHolder.get();
        return s == null ? "DEFAULT" : s;
    }


    public static void clearDataSourceType() {
        contextHolder.remove();
    }

}

